Today, very few alternatives exist to control the microprocessor's power and temperature when a microprocessor is running. This is true for both mobile and desk-top personal computers. A microprocessor system is often designed assuming that the microprocessor will be used continuously at its worst case power dissipation. Extensive system verification is performed to ensure that this design condition can be met, before the product can be released into production.
Today's microprocessors feature multiple reduced power states which can be activated when the microprocessor system is not busy. In X86 class microprocessors, these features are usually called SMM (System Management Mode). Power consumption can be reduced to progressively lower levels by:
Halting logical operations within the microprocessor PA1 Stopping the clock to the microprocessor PA1 Turning power off to the microprocessor
These are particularly useful features for mobile personal computers where the battery life is limited. However, all of the above procedures completely stop productive work by the microprocessor.
As a "fail-safe" mode, some systems have installed power sensors with external logic to turn down the clock in the event of a thermal overrun. When this "fail-safe" mode is activated, the resulting performance degradation can be quite severe, i.e., ten times.
Other microprocessor innovations seek to operate the microprocessor at or near some specified operating characteristics. E.g., U.S. Pat. No. 5,488,288 to Elmer teaches the use of a voltage regulator that responds to temperature and process variations and compensates for switching speed fluctuations by generating an internal operating voltage and controlling it such that it compensates for these fluctuations.
U.S. Pat. No. 5,498,971 to Turnball teaches the use of an on-chip circuit element which has parameters that vary as a function of temperature and the use of off-chip circuitry to both measure the die temperature and slow the clock frequency of the circuit during excessive temperature conditions. This is done by supplying two predetermined voltages, each generated by a circuit element that varies with temperature, to the output pins of the die, measuring the voltage difference and generating a signal representative of the die temperature which is used to control the clock frequency.
U.S. Pat. No. 5,440,520 to Schutz et al is another solution in which a voltage map is coupled to a temperature sensing unit. Schutz uses predetermined voltage and temperature relationships to increase the voltage during periods of high chip temperature that would otherwise degrade the performance of the microprocessor chip. Schutz also uses a set of predetermined device characteristics to limit the increase within specified limits.
The focus of all these latter solutions is on using voltage and temperature to stabilize performance or to prevent thermal overrun. Performance is often gauged by measuring one of the two parameters against the other. Other operational characteristics are ignored.
These solutions fail to exploit an opportunity. A great deal of the time the microprocessor is not at its maximum power dissipation and it rarely approaches its maximum safe temperature. Even systems that attempt to stabilize performance over a variety of temperature ranges don't fully exploit the fact that most of the time the microprocessor and its system could support more operations.
This invention uses both temperature and voltage opportunistically. It exploits the fact that a microprocessor system is rarely running at its worst case power dissipation. It monitors the system in a variety of ways; employing variables beyond temperature and voltage. Any action taken to optimize system performance becomes a function of the activities being performed or not being performed rather than waiting until these activities produce a result that requires action effecting either voltage or temperature.